import request from '@/utils/request.js';

/**
 * 账号密码登录
 * @param {Object} data 登录参数
 * @returns {Promise}
 */
export function login(data) {
  return request.post('/app-api/system/appAuth/appLogin', data);
}

/**
 * 发送手机验证码
 * @param {Object} data 验证码参数 {mobile, captchaVerification, scene}
 * @returns {Promise}
 */
export function sendSmsCode(data) {
  return request.post('/app-api/system/appAuth/send-sms-code', data);
}

/**
 * 获取验证码（兼容旧接口）
 * @param {String} phone 手机号
 * @returns {Promise}
 */
export function getVerifyCode(phone) {
  return request.get(`/app-api/system/appAuth/sendSmsCode/${phone}`);
}

/**
 * 短信验证码登录
 * @param {Object} data 登录参数 {mobile, code}
 * @returns {Promise}
 */
export function smsLogin(data) {
  return request.post('/app-api/system/appAuth/sms-login', data);
}

/**
 * 重置密码
 * @param {Object} data 重置密码参数
 * @returns {Promise}
 */
export function resetPassword(data) {
  return request.post('/app-api/system/appAuth/resetPassword', data);
}

/**
 * 获取登录用户的权限信息
 * @returns {Promise}
 */
export function getPermissionInfo() {
  return request.get('/app-api/system/appAuth/get-permission-info');
}

/**
 * 修改密码
 * @param {Object} data 修改密码参数 {oldPassword, newPassword}
 * @returns {Promise}
 */
export function updatePassword(data) {
  return request.put('/app-api/system/appAuth/update-password', data);
}

/**
 * 刷新访问令牌
 * @param {String} refreshToken 刷新令牌
 * @returns {Promise} 返回新的访问令牌和刷新令牌
 */
export function refreshToken(refreshToken) {
  return request.post(`/app-api/system/appAuth/refresh-token?refreshToken=${refreshToken}`, { refreshToken });
}

/**
 * 退出登录
 * @returns {Promise}
 */
export function logout() {
  return request.post('/app-api/system/appAuth/logout');
} 